// 配置路由
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

const router = new VueRouter({
  routes: [
    {
      name: 'login',
      path: '/login',
      component: () => import('@/views/login.vue')
    }, {
      name: 'index',
      path: '/index',
      component: () => import('@/views/index.vue'),
      // 添加重定向， 让首页路由匹配的时候，在重定向到嵌套路由welcom
      // 使用redirect的时候，如果使用path 则需要完整的嵌套路由的路径
      // redirect: { path: '/index/welcom' },
      redirect: { name: 'welcome' },
      // 使用children嵌套路由
      children: [
        {
          name: 'welcome',
          path: 'welcome',
          component: () => import('@/views/welcome.vue'),
        },
        {
          name: 'postlist',
          path: 'postlist',
          component: () => import('@/views/postlist.vue'),
        }, {
          name: 'postpublish',
          path: 'postpublish',
          component: () => import('@/views/PostPublish.vue'),
        }
      ]
    }

  ]
})

// 添加导航守卫
router.beforeEach((to, from, next) => {
  // 如果是去登录页 就不管
  if (to.name == 'login') {
    next()
  } else {
    // 如果是去除了登录页就需要验证token   
    let token = JSON.parse(localStorage.getItem('heimahoutai') || '{}').token
    if (token) {  // 如果有token 就么事
      next()
    } else {   // 如果没有就跳转到登录页
      next({ path: '/login' })
    }
  }
})

// 暴露
export default router